﻿#define _CRT_SECURE_NO_WARNINGS 1
#include"Contact.h"
#include"SeqList.h"

//通讯录的初始化
void ContactInit(Contact* con)
{
	InitSL(con);
}

//通讯录的销毁
void ContactDestroy(Contact* con)
{
	SLDestroy(con);

}


void ContactAdd(Contact* con)
{
	//定义一个联系人
	person per;
	printf("请输入要添加的联系人的姓名：");
	scanf("%s",per.name );
	printf("请输入要添加的联系人的性别：");
	scanf("%s",per.sex );
	printf("请输入要添加的联系人的年龄：");
	scanf("%d", &per.age);
	printf("请输入要添加的联系人的电话：");
	scanf("%s", per.tele);
	printf("请输入要添加的联系人的地址：");
	scanf("%s",per.addr );
	//插入到通讯录中
	SLPushBack(con, per);
	printf("添加成功\n");

}

//判断联系人是否存在
int  FindByName(Contact*con,char name[])
{
	for(int i = 0 ; i<con->size ;i++)
	{
		if (strcmp(con->arr[i].name, name) == 0)
		{
			return i;
		}
	}
	return -1;
}


//通讯录数据的删除
void DelContact(Contact* con)
{
	char name[20];
	printf("请输入要删除的联系人姓名：");
	scanf( "%s" , name );
	//判断联系人是否存在
	int find = FindByName(con,name);
	if (find < 0)
	{
		printf("你要删除的联系人不存在\n");
		return;
	}
	SLErase(con,find);
	printf("删除成功\n");

    
}


//展⽰通讯录数据
void ShowContact(Contact* con)
{
	printf("姓名   性别   年龄   电话   地址\n");
	for (int i = 0; i < con->size; i++)
	{
		printf("%s   %s   %d   %s   %s",con->arr[i].name, con->arr[i].sex, con->arr[i].age, con->arr[i].tele, con->arr[i].addr);
	}
	printf("\n");
}


//查找通讯录数据
void FindContact(Contact* con)
{
	char name[20];
	printf("请输入要查找的联系人姓名：");
	scanf("%s",name );
	//先判断要查找的联系人是否存在
	int find = FindByName(con,name);
	if (find < 0)
	{
		printf("你要查找的联系人不存在\n");
		return;
	}
	//存在
	printf("姓名   性别   年龄   电话   地址\n");
	printf("%s   %s   %d   %s   %s\n", con->arr[find].name, con->arr[find].sex, con->arr[find].age, con->arr[find].tele, con->arr[find].addr);


}



//修改通讯录数据
void ModifyContact(Contact* con)
{
	char name[20];
	printf("请输入你要修改的联系人姓名：");
	scanf("%s", name);
	//判断联系人是否存在
	int find = FindByName(con, name);
	if (find < 0)
	{
		printf("你要修改的联系人不存在\n");
		return;
	}
	//存在
	printf("请输入修改后的姓名：");
	scanf("%s",con->arr[find].name );
	printf("请输入修改后的性别：");
	scanf("%s",con->arr[find].sex );
	printf("请输入修改后的年龄：");
	scanf("%d",&con->arr[find].age );
	printf("请输入修改后的电话: ");
	scanf("%s",con->arr[find].tele );
	printf("请输入修改后的地址：");
	scanf("%s",con->arr[find].addr );
	printf("修改成功\n");
}
